//----------------------------------------------------------------------------
/** @file AmiGoGtpInterface.h
    Interface to AmiGo C functions. */
//----------------------------------------------------------------------------

#ifndef AMIGOGTP_INTERFACE_H
#define AMIGOGTP_INTERFACE_H

#include <string>
#include "Board.h"

//----------------------------------------------------------------------------

namespace amigogtp {

using namespace std;

//----------------------------------------------------------------------------

namespace Interface
{
    bool GetShowTrees();

    void SetShowTrees(bool enable);

    int GetPlayLevel();

    void SetPlayLevel(int level);

    string GetPlayReason();

    Point GenMove(Board& board, Color c);

    IntBoard GetIntBoard(Board& board, Color c, const string& id);

    string GetGroupInfo(Board& board, Color c, const Point& p);

    bool IsKillable(Board& board, const Point& group, Point& move);

    bool IsSaveable(Board& board, const Point& group, Point& move);
}

//----------------------------------------------------------------------------

} // namespace amigogtp

//----------------------------------------------------------------------------

#endif // AMIGOGTP_INTERFACE_H

